﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TreinamentoNDD.ControleHorariosRemedios.Model
{
    public class RemedioVO
    {
        #region Atributos

        private string _nome;
        private DateTime _dataInicio;
        private int _qntDias;
        private int _vezesAoDia;
        private string _dosagem;

        #endregion Atributos

        #region Propriedades

        public string Dosagem
        {
            get { return _dosagem; }
            set { _dosagem = value; }
        }

        public int VezesAoDia
        {
            get { return _vezesAoDia; }
            set { _vezesAoDia = value; }
        }

        public int QntDias
        {
            get { return _qntDias; }
            set { _qntDias = value; }
        }

        public DateTime DataInicio
        {
            get { return _dataInicio; }
            set { _dataInicio = value; }
        }

        public string Nome
        {
            get { return _nome; }
            set { _nome = value; }
        }

        #endregion Propriedades

        #region Métodos

        public List<DateTime> Horarios()
        {
            List<DateTime> lstHorarios = new List<DateTime>();
            double intervalo = 24 / _vezesAoDia;

            DateTime ultimaHora = _dataInicio;
            for (int i = 0; i < _qntDias; i++)
            {
                for (int j = 0; j < _vezesAoDia; j++)
                {
                    ultimaHora = ultimaHora.AddHours(intervalo);
                    lstHorarios.Add(ultimaHora);
                }
            }

            return lstHorarios;
        }

        public override string ToString()
        {
            return string.Format("Nome: {0}, Dosagem: {1}", _nome, _dosagem);
        }

        #endregion Métodos
    }
}